﻿using System;

namespace Wombat.Core.Factories
{
    /// <summary>
    /// Provides the functionality for creating a new tag value based on the
    /// type of data.
    /// </summary>
    public interface ITagValueFactory
    {
        ITagValue CreateNew(Guid tagId, DateTime time, object value);
        ITagValue<T> CreateNew<T>(Guid tagId, DateTime time, T value);
        ITagValue CreateCurropt(Guid tagId, DateTime time);
        ITagValue<T> CreateCurropt<T>(Guid tagId, DateTime time);
    }
}